﻿/**
 * \file IFabriqueUnite.cs
 * \brief Interface IFabriqueUnite
 * \author ARTUR Vincent
 * \author LAPERDRIX Pierre
 * \version 1.0
 */
namespace Interfaces
{
    using Implem;
	using System;
	using System.Collections.Generic;
	using System.Linq;
	using System.Text;

    /**
     * \interface IFabriqueUnite
     * \brief Fabrique d'unites
     */
	public interface IFabriqueUnite 
	{
        /**
         * \fn IDirecteur creerDirecteur(Joueur j, Position p)
         * \brief Cree un directeur a la position p avec le joueur j comme proprietaire
         * \param p la position
         * \return le directeur
         */
        IDirecteur creerDirecteur(Joueur j, Position p);

        /**
         * \fn IEtudiant creerEtudiant(Joueur j, Position p)
         * \brief Cree un etudiant a la position p avec le joueur j comme proprietaire
         * \param p la position
         * \return l'etudiant
         */
        IEtudiant creerEtudiant(Joueur j, Position p);


        /**
         * \fn IEnseignant creerEnseignant(Joueur j, Position p)
         * \brief Cree un enseignant a la position p avec le joueur j comme proprietaire
         * \param p la position
         * \return l'enseignant
         */
        IEnseignant creerEnseignant(Joueur j, Position p);

	}
}

